package com.bw.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.bw.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * @author ${郭冬胜}
 * @date 2025/8/12 9:15
 */
@RestController
public class UserController {
    @Autowired
    UserService userService;
    @RequestMapping("/full")
    public Object t1(){
        List<Map> list=userService.full();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray objects = new JSONArray();
        data.put("mapData",objects);
        for (Map map : list) {
            JSONObject jsonObject1 = new JSONObject();
            jsonObject1.put("name",map.get("name"));
            jsonObject1.put("value",map.get("sum"));
            objects.add(jsonObject1);
        }
        jsonObject.put("data",data);
        return jsonObject;
    }

    @RequestMapping("/fullA")
    public Object t2(){
        List<Map> list=userService.fullA();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray objects = new JSONArray();
        data.put("columns",objects);
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","课程名称");
        jsonObject1.put("id","subsys");
        objects.add(jsonObject1);

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","考试人次");
        jsonObject2.put("id","module");
        objects.add(jsonObject2);

        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","平均分");
        jsonObject3.put("id","business");
        objects.add(jsonObject3);

        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","平均用时");
        jsonObject4.put("id","name");
        objects.add(jsonObject4);

        JSONArray objects1 = new JSONArray();
        data.put("rows",objects1);
        for (Map map : list) {
            JSONObject jsonObject5 = new JSONObject();
            jsonObject5.put("subsys",map.get("name"));
            jsonObject5.put("module",map.get("c"));
            jsonObject5.put("business",map.get("a"));
            jsonObject5.put("name",map.get("b"));
            objects1.add(jsonObject5);
        }

        jsonObject.put("data",data);
        return jsonObject;
    }

    @RequestMapping("/fullB")
    public Object t3(){
        List<Map> list=userService.fullB();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        jsonObject.put("data",list.get(0).get("sum"));
        return jsonObject;
    }



    @RequestMapping("/fullC")
    public Object t4(){
        List<Map> list=userService.fullC();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray objects = new JSONArray();
        data.put("columns",objects);
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","课程名称");
        jsonObject1.put("id","subsys");
        objects.add(jsonObject1);

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","平均评分");
        jsonObject2.put("id","module");
        objects.add(jsonObject2);

        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","平均人数");
        jsonObject3.put("id","business");
        objects.add(jsonObject3);

        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","好评人数");
        jsonObject4.put("id","name");
        objects.add(jsonObject4);

        JSONObject jsonObject6 = new JSONObject();
        jsonObject6.put("name","好评率");
        jsonObject6.put("id","value");
        objects.add(jsonObject6);

        JSONArray objects1 = new JSONArray();
        data.put("rows",objects1);
        for (Map map : list) {
            JSONObject jsonObject5 = new JSONObject();
            jsonObject5.put("subsys",map.get("name"));
            jsonObject5.put("module",map.get("avg"));
            jsonObject5.put("business",map.get("c"));
            jsonObject5.put("name",map.get("c1"));
            jsonObject5.put("value",map.get("a"));
            objects1.add(jsonObject5);
        }

        jsonObject.put("data",data);
        return jsonObject;
    }
}
